1. Field of the Invention
The present invention relates to the use of a storage subsystem to configure one or more field-programmable devices of a target computer system.
2. Description of the Related Art
A field programmable gate array (FPGA) is a semiconductor device that contains programmable logic components and associated interconnects. As opposed to application-specific integrated circuits (ASICs), which are manufactured to implement specific circuit logic, a designer may program a pre-manufactured FPGA to implement a particular logic circuit. FPGAs are one example of a type of field-programmable device. Other types of field-programmable devices include Complex Programmable Logic Devices (CPLDs), Electrically Erasable Programmable Read-Only Memory devices (EEPROMs), Field Programmable Object Arrays (FPOAs), Field Programmable Analog Arrays (FPAAs) and flash-based microcontrollers.
A target system that includes one or more field-programmable devices typically includes some type of internal configuration device or logic that controls the programming process. For example, some systems include an EEPROM that streams configuration data to the system's field-programmable devices upon power-up of the system. As another example, systems based on the Xilinx System ACE™ product include a special ASIC that controls the transfer of configuration data from an IDE storage device to system's FPGAs. These configuration devices contribute significantly to the cost and complexity of the target system, and consume valuable board real estate.